package lq2019;/**
 * ************************************************************************
 * 项目名称: projectweb <br>
 * 文件名称:  <br>
 * 文件描述: 这里添加您的类文件描述，说明当前文件要包含的功能。 <br>
 * 文件创建：1913040634刘世锦  <br>
 * 创建时间: 2021/2/19 <br>
 *
 * @version v1.0 <br>
 * @update [序号][日期YYYY-MM-DD][更改人姓名][变更描述]<br>
 * ************************************************************************
 */

import javax.imageio.metadata.IIOMetadataFormatImpl;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @ProjectName: projectweb
 * @ClassName: 数列求值
 * @Description: 请描述该类的功能
 * @Author: 1913040634刘世锦
 * @Date: 2021/2/19 21:20193 .
 * @version v1.0
 */
//数的分解
//
//        把2019 分解成3 个各不相同的正整数之和，并且要求每个正整数都不包
//        含数字2 和4，一共有多少种不同的分解方法？
//        注意交换3 个整数的顺序被视为同一种方法，例如1000+1001+18 和
//        1001+1000+18 被视为同一种。
public class 数的分解 {
    public static void main(String[] args) {
        int a = 2019;
        int con =0;
        for (int i = 1; i <=2019 ; i++) {
            if(!isinclude(i)) {
                for (int j = i + 1; j <= 2019; j++) {
                    if (!isinclude(j)) {
                        for (int k = j + 1; k <= 2019; k++) {
                            if(!isinclude(k)) {
                                if (i + j + k == a) {
                                  //  System.out.println(i + j + k);
                                    con++;


                                }
                            }
                        }
                    }
                }
            }
        }
        LocalDateTime s =   LocalDateTime.now();
        System.out.println(s);
        System.out.println(con);  // 成了！！！ 嘿哈！！   2021-02-20 T  19:35:44    <<记
    }
//是否包含 2 和4
    public  static  boolean isinclude(int c){  //自己写的
      //  int a = Integer.parseInt(c);
    boolean l = false;
    if ( c!=0){
         if((c+"").contains("2")||(c+"").contains("4") ){

       l = true;

         }

     }
    return l;
}
    public static boolean judgeNum(int n) {  // 法1
        boolean ls = false;
        int a = n;
        while (a != 0) {
            if (a % 10 == 2 || a % 10 == 4) {
                ls = true;
                break;
            }
            a /= 10;
        }
        return ls;
    }
    public static boolean judgeNum1(int n) { // 法2     indexOf()的意思：查找一个字符串中，第一次出现指定字符串的位置。
        String s = n + "";
        return s.indexOf("2") != -1 || s.indexOf("4") != -1;
    }
}



